// EG4EventAction.hh -- a brief definition for the class
// Created: Jan. 27, 2019, transcribed by Asia SUN, asia.rabbit@163.com
// Last modified: Jan. 28, 2019, by Asia SUN

#ifndef EG4EventAction_h
#define EG4EventAction_h

#include "globals.hh"
#include "G4UserEventAction.hh"

class G4VHitsCollection;
class EG4RunAction;
class EG4StepAction;
class EG4Data;

class EG4EventAction : public G4UserEventAction{
public:
  EG4EventAction(EG4RunAction *runAction);
  virtual ~EG4EventAction();

  virtual void BeginOfEventAction(const G4Event *ev) override;
  virtual void EndOfEventAction(const G4Event *ev) override;

  static G4VHitsCollection *GetHC(const G4Event *event, int collId);

protected:
  // hit collection ID array
  int fPlaHCID[2]; // [T1 - TOFWstrip]
  int fDCHCID[2]; // [DCTa-DC]
  int fNWHCID[3]; // [sci-fe-veto]

  EG4RunAction *fRunAction;
  EG4Data *fData;
};

#endif
